package com.xj.common.bussiness.machinery.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

import static org.springframework.format.annotation.DateTimeFormat.ISO.DATE;

/**
 * <p>
 * <p>
 * </p>
 *
 * @author Hmemb
 * @since 2017-11-18
 */
@Data
@TableName("tb_machinery_info")
public class TbMachineryInfo extends Model<TbMachineryInfo> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 机主名称
     */
    @TableField(value = "owner_name")
    private String ownerName;
    /**
     * 机主身份证号
     */
    @TableField(value = "identity_num")
    private String identityNum;
    /**
     * 排放登记
     */
    @TableField(value = "Emission_registration")
    private String emissionRegistration;
    /**
     * 设备编号
     */
    @TableField(value = "device_ID")
    private String deviceID;
    /**
     * 机械品牌
     */
    @TableField(value = "brands")
    private String brands;
    /**
     * 机械颜色
     */
    @TableField(value = "colour")
    private String colour;
    /**
     * 机械类型
     */
    @TableField(value = "type")
    private String type;
    /**
     * 生产国别
     */
    @TableField(value = "country")
    private String country;
    /**
     * 大架子号
     */
    @TableField(value = "big_shelf_num")
    private String bigShelfNum;
    /**
     * 燃油类型
     */
    @TableField(value = "Fuel")
    private String fuel;
    /**
     * 发动机铭牌号
     */
    @TableField(value = "engine_plate_num")
    private String enginePlateNum;
    /**
     * 整机质量
     */
    @TableField(value = "Machine_quality")
    private String machineQuality;
    /**
     * 出厂日期
     */
    @DateTimeFormat(iso = DATE)
    @TableField(value = "date_Of_Production")
    private Date dateOfProduction;
    /**
     * 核载质量
     */
    @TableField(value = "Nuclear_loading_quality")
    private String nuclearLoadingQuality;
    /**
     * 购置时间
     */
    @DateTimeFormat(iso = DATE)
    @TableField(value = "buy_date")
    private Date buyDate;
    /**
     * 铭牌号
     */
    @TableField(value = "plate_num")
    private String plateNum;
    /**
     * 液压泵铭牌
     */
    @TableField(value = "hydraulic_plate_num")
    private String hydraulicPlateNum;
    /**
     * 备注信息
     */
    @TableField(value = "remark")
    private String remark;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getIdentityNum() {
        return identityNum;
    }

    public void setIdentityNum(String identityNum) {
        this.identityNum = identityNum;
    }

    public String getEmissionRegistration() {
        return emissionRegistration;
    }

    public void setEmissionRegistration(String emissionRegistration) {
        this.emissionRegistration = emissionRegistration;
    }

    public String getDeviceID() {
        return deviceID;
    }

    public void setDeviceID(String deviceID) {
        this.deviceID = deviceID;
    }

    public String getBrands() {
        return brands;
    }

    public void setBrands(String brands) {
        this.brands = brands;
    }

    public String getColour() {
        return colour;
    }

    public void setColour(String colour) {
        this.colour = colour;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getBigShelfNum() {
        return bigShelfNum;
    }

    public void setBigShelfNum(String bigShelfNum) {
        this.bigShelfNum = bigShelfNum;
    }

    public String getFuel() {
        return fuel;
    }

    public void setFuel(String fuel) {
        this.fuel = fuel;
    }

    public String getEnginePlateNum() {
        return enginePlateNum;
    }

    public void setEnginePlateNum(String enginePlateNum) {
        this.enginePlateNum = enginePlateNum;
    }

    public String getMachineQuality() {
        return machineQuality;
    }

    public void setMachineQuality(String machineQuality) {
        this.machineQuality = machineQuality;
    }

    public Date getDateOfProduction() {
        return dateOfProduction;
    }

    public void setDateOfProduction(Date dateOfProduction) {
        this.dateOfProduction = dateOfProduction;
    }

    public String getNuclearLoadingQuality() {
        return nuclearLoadingQuality;
    }

    public void setNuclearLoadingQuality(String nuclearLoadingQuality) {
        this.nuclearLoadingQuality = nuclearLoadingQuality;
    }

    public Date getBuyDate() {
        return buyDate;
    }

    public void setBuyDate(Date buyDate) {
        this.buyDate = buyDate;
    }

    public String getPlateNum() {
        return plateNum;
    }

    public void setPlateNum(String plateNum) {
        this.plateNum = plateNum;
    }

    public String getHydraulicPlateNum() {
        return hydraulicPlateNum;
    }

    public void setHydraulicPlateNum(String hydraulicPlateNum) {
        this.hydraulicPlateNum = hydraulicPlateNum;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "TbMachineryInfo{" +
                "id=" + id +
                ", ownerName='" + ownerName + '\'' +
                ", identityNum='" + identityNum + '\'' +
                ", emissionRegistration='" + emissionRegistration + '\'' +
                ", deviceID='" + deviceID + '\'' +
                ", brands='" + brands + '\'' +
                ", colour='" + colour + '\'' +
                ", type='" + type + '\'' +
                ", country='" + country + '\'' +
                ", bigShelfNum='" + bigShelfNum + '\'' +
                ", fuel='" + fuel + '\'' +
                ", enginePlateNum='" + enginePlateNum + '\'' +
                ", machineQuality='" + machineQuality + '\'' +
                ", dateOfProduction=" + dateOfProduction +
                ", nuclearLoadingQuality='" + nuclearLoadingQuality + '\'' +
                ", buyDate=" + buyDate +
                ", plateNum='" + plateNum + '\'' +
                ", hydraulicPlateNum='" + hydraulicPlateNum + '\'' +
                ", remark='" + remark + '\'' +
                '}';
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
